package com.category.douyijia.services;

import java.util.ArrayList;
import java.util.List;

import com.category.douyijia.base.BaseService;
import com.category.douyijia.model.OrdMang;
/**
 * 创建的类继承基础类 ，实现增删改查功能
 * 基础类里利用的是键值对
 * @author jiangmengyang
 * @version v1.0
 * date time 2021年7月18日18:38:12
 */

public class OrdMangService extends BaseService<OrdMangService, OrdMang> {
	/**
	 * 创建一个空对象
	 * 修改数据时往里面传值
	 * 只能传一个值
	 */
	private OrdMang ordMang = null;
	/**
	 * 订单管理集合里面的实体类
	 */
	private OrdMang ordMangs = null;
	/**
	 * 建立一个DAO模板
	 * 写增删改查功能时更简便
	 * 利用的是jfinal的方法
	 * 使数据更简便
	 */
	public static OrdMang ordMangDao = (OrdMang)new OrdMang().dao();
	/**
	    *将OrdMang的对象添加到数据库
	    * @param ordMang
	    * *ordMang为数据表的一个参数
	    *参数里有值包括列名
	    * @return
	    * 如果ordMang 不为空添加数据库成功
	    * 如果ordMang为空添加不了数据库
	    */
    public boolean put(OrdMang ordMang) {
	   if(ordMang!=null && !(ordMang.equals(""))) {
		   return ordMang.save();
	   }else {
		   System.out.println("参数为空！");
		   return false;
	   }
   }
    /**
     * 查询表里的全部数据
     * 建一个ArrayList包
     * @return
     *返回的是所有的信息
     *
     */
    public List<OrdMang> findAll() {
    	return (ArrayList)ordMangDao.findAll();
    }
    /**
     * 这是通过商品编号查询订单表里的数据
     * @param comId
     * 通过id查找订单表里的全部信息
     * @return
     * comId如果不为空的话就返回，
     * 订单详情表里的所查找的那些列
     * comId如果为空的话，
     * 返回的结果是一个空值
     */
    public OrdMang findByComId(String comId){
    	if(comId!=null && !(comId.equals(""))) {
    		return (OrdMang) this.ordMang.find(
    				"select "
    				+ "com_id,com_name,com_price,com_quantity,"
    				+ "com_picture,ord_id "
    				+ "from OrdMang "
    				+ "where com_"
    				+ "id = ?",comId); 
    	}else {
    		return null;
    	}
    }
    /**
     * 通过商品名称查询，
     * 订单详情表里的所有数据
     * @param comName
     * @return
     * comName如果不为空的话就返回，
     * 订单详情表里的所查找的那些列
     * comName如果为空的话，
     * 返回的结果是一个空值
     */
    public List<OrdMang> findByComName(String  comName){
    	if(comName!=null && !(comName.equals(""))) {
    		return (ArrayList)ordMang.find("select com_id,com_price,com_quantity,"
    				+ "com_picture,ord_id"
    				+ " from OrdMang"
    				+ "where com_name"
    				+ " = ?",comName);
    	}else {
    		return null;
    	}
    }
    /**
     * 通过订单编号查询，TypeName
     * 订单详情表里的所有数据
     * @param ordId
     * @return
      * ordId如果不为空的话就返回，
     * 订单详情表里的所查找的那些列
     * ordId如果为空的话，
     * 返回的结果是一个空值
     */
    public OrdMang findByOrdId(String ordId){
    	if(ordId!=null && !(ordId.equals(""))) {
    		return (OrdMang) this.ordMang.find(
    				"select "
    				+ "com_id,com_name,com_price,com_quantity,"
    				+ "com_picture,com_id "
    				+ "from OrdMang"
    				+ " where ord_"
    				+ "id = ?",ordId); 
    	}else {
    		return null;
    	}
    }
    /**
     * 先查询再通过id删除数据库里的数据
     * 通过id删除表里的一行数据
     * @param ordId
     * @return
      * id如果不为空的话结果为ture
    * id如果为空的话结果为false
    */
    public boolean deleteByOrdId(String  ordId){
    	ordMang = findByOrdId(ordId);
    	if (ordMang != null) {
    		return ordMang.dao().delete();
		}
    	return false;
    }
    /**
     * 通过id更改到数据库
     * 建一个List包
     * 利用List这个可以是读者
     * 简而意之的看到原来的数据
     * 更有利于比较，简便
     * @param ordId
     *创建的一个参数 
     *保存订单对象
     * @return
     * 布尔类型
     * ordId不为空执行if中语句结果不为空的话显示ture
     * 结果为空的话显示false
     */
    public boolean updateByOrdId(String ordId) {
    if(ordId!=null && !(ordId.equals(""))) {
    	List<OrdMang> ordMangList = (List<OrdMang>) ordMangDao.findById(ordId);
    	ordMangs = (OrdMang) ordMangList;
    	return ordMangs.dao()._setAttrs(ordMang).update();
    }else{
    	return false;
    }
}
}